/*
 * ArchivadorCorreo.h
 *
 *  Created on: 12/09/2010
 *      Author: nicoabie
 */

#ifndef ARCHIVADORCORREO_H_
#define ARCHIVADORCORREO_H_

#include "Correo.h"
#include "stdio.h"
#include "stdlib.h"
#include "string.h"
#include <cstring>
#include <iostream>

using namespace std;

class ArchivadorCorreo {
public:
	ArchivadorCorreo();

	/*
	 * Persists the mail given and returns
	 * the register number on where it was
	 * stored.
	 */
	int GuardarCorreo(Correo* correo);

	virtual ~ArchivadorCorreo();



private:

	char* GenerarMetadata(Correo* correo);
	int GetTamanioDestinatarios(tLista<DireccionDeCorreo>* destinatarios);
	char* ObtenerDestinatarios(tLista<DireccionDeCorreo>* destinatarios, int tamanioDestinatarios);
	int TransformUnsignedCharToInt(unsigned char* metadata, int cantidadChars);
};

#endif /* ARCHIVADORCORREO_H_ */
